package com.kaifamiao.month03.day0325;

public class Prime {

    public static void main(String[] args) {
        int n = 100;
        System.out.println(n + " 以内的质数有：");
        for(int a : prime(n)){
            System.out.println(a);
        }
        System.out.println("这些质数的和是：" + sum(prime(n)));
    }

    /**
     * 寻找 n 以内的质数
     * @param n 范围
     * @return 质数数组
     */
    public static int[] prime(int n){
        int[] arr = new int[n];
        int count = 0;
        loop:for(int i = 2; i < n; i ++){
            for(int j = 2; j < i; j ++){
                if(i % j == 0){
                    continue loop;
                }
            }
            arr[count ++] = i;
        }
        return subArr(arr,count);
    }


    /**
     * 截取数组
     * @param arr 需要截取的数组
     * @param count 截取的长度
     * @return 截取之后的数组
     */
    public static int[] subArr(int[] arr,int count){
        int[] newArr = new int[count];
        for(int i = 0; i < count; i ++){
            newArr[i] = arr[i];
        }
        return newArr;
    }

    /**
     * 数组求和
     * @param arr 需要求和的数组
     * @return 求和的结果
     */
    public static int sum(int[] arr){
        int sum = 0;
        for(int a : arr){
            sum += a;
        }
        return sum;
    }
}
